Automation systems have to meet a wide variety of requirements, such as, flexible, reliable, and/or consistent reactions to events, for example:                processing errors in a user program, such as for example division by zero and/or infringement of array limits        access errors in the case of I/O variables—input/output variables        access errors when reading and/or writing system variables        
These requirements apply in particular to a freely programmable automation system or controller. If the automation controller or the automation system (the terms controller and automation system may be accepted as synonyms to each other although the automation system may also include an automation controller) have multitasking properties, the requirements become more rigorous. This applies, for example, to a freely programmable automation system for a production machine, such as for example, a printing machine or a plastics injection-molding machine with multitasking properties, which on account of integrated technology and automatic control functionality has to conform to hard real-time properties. Real-time properties are also required, for example, in the case of a machine tool, such as for example a lathe, a grinding machine, a milling machine, etc., or in the case of one or more manipulators operating together.
The automation controller or the automation system has software, with tasks, i.e. functions, or programs, or jobs being started and processed, or capable of being processed, in this software. In an automation controller or in an automation system, the requirements described above have previously been met by means of synchronous exceptions, in particular whenever near real-time requirements have to be satisfied. With the synchronous exception, at least one user program is immediately started, as a reaction to an error, with the same priority as the processed task in which an error has occurred.
A disadvantage of this solution is that the solution with synchronous exceptions can only be used to a restricted extent in an automation system or in an automation controller with high-priority cyclical tasks, since the total running time of the high-priority cyclical task levels is limited. If this limitation is exceeded, the real-time property is lost. If synchronous exceptions are used, a real-time automation system cannot be realized, since real time is not guaranteed in every case. This problem also generally occurs in the case of other real-time systems in which high-priority tasks are to be processed in a maximum total running time which is necessary for processing.